import store from "../store";

const permission = {
    inserted(el, binding) {
        //获取指令的值：按钮要求的角色数组
        const { value:pRoles } = binding;
        //获取当前用户角色
        const roles = store.getters && store.getters.roles;
        if (pRoles && pRoles instanceof Array && pRoles.length > 0){
            //判断当前用户是否具有按钮要求的角色
            const hasPermission = roles.some(role => {
                return pRoles.includes(role);
            })
            //如果当前用户没有按钮要求的角色，则移除该按钮
            if (!hasPermission){
                el.parentNode && el.parentNode.removeChild(el);
            }
        }else {
            throw new Error(`需要指定按钮要求的角色数组，如v-permission="['admin', 'editor]"`)
        }
    } 
}

export default permission;


